package helpers.grupo.jerarquia;

import helpers.*;
import cliente.pagina.*;
import comun.constantes.*;
import server.aula.ControlAula;
import server.grupo.*;
import persistencia.dominio.*;
import utils.Utils;
import java.util.*;
/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: </p>
 * @author unascribed
 * @version 1.0
 */

public class HelperProhibidoRechazadoCurioso extends Helper {
  
  public HelperProhibidoRechazadoCurioso(Pagina pagina) {
    super(pagina);
  }

   
  public String getHTMLProhibidoRechazadoCurioso() throws Exception{
	  	 String html = "";
	  	 html += "       <div id=\"tablaGrupo\">\n\t\t";
	  	 html += " <fieldset>\n\t\t";
	     html += "             <legend>Personas que fueron rechazadas o prohibidas y curiosos relacionados con el Grupo</legend>\n\t\t";
	     html += "             <label><strong>Curiosos:</strong> Personas que han intentado acceder a este grupo, a pesar de saber que el mismo es restringido.</label>\n\t\t";
	     html += "             <br>\n\t\t";
	     html += "             <br>\n\t\t";
	     /***********************************PRIMERA TABLA - CURIOSOS*****************************************/
	     ControlAula controlAula = new ControlAula(this.persistencia);
		 Participante participante = null;
		 ParticipanteComision pteCom = null;
		 boolean intercomision = ((Boolean)this.pagina.getSession().getAttribute(PARAMETROS_PAGINAS.INTERCOMISION)).booleanValue(); 
		 boolean esAlumno = true;
		 if(intercomision)
			 participante = controlAula.getParticipante(this.pagina.getIdAula(),this.pagina.getIdPersona());
		 else{
			 pteCom = controlAula.getParticipanteComision(this.pagina.getIdComision(),this.pagina.getIdPersona());
			 participante = pteCom.getParticipante();
		 }
		 Vector curiosos;
		 Enumeration enum;
		 ParticipanteExcluido pc = null;
		 ControlGrupo controlGrupo = new ControlGrupo(this.persistencia);
		 ControlParticipanteGrupo controlParticipanteGrupo = new ControlParticipanteGrupo(this.persistencia);
		 curiosos = controlParticipanteGrupo.getParticipantesExcluidosDelGrupo(this.pagina.getIdGrupo(), TIPO_EXCLUSION.CURIOSO);
		 if(!curiosos.isEmpty()){
			 html += "             <div id=\"tablaGris\">\n\t\t";
		     html += "               <table width=\"570\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n\t\t";
		     html += "                 <tr>\n\t\t";
		     //titulos de la tabla
		     html += "                   <th><div align=\"center\">Apellido y Nombre</div></th>\n\t\t";
			 html += "                   <th><div align=\"center\">Fechas de Acceso</div></th>\n\t\t";
			 html += "                 </tr>\n\t\t";
			 enum = curiosos.elements();
			 while (enum.hasMoreElements()) {
		        pc = (ParticipanteExcluido)enum.nextElement();
			    if(pc.getTipoExclusion().getNombre().compareTo(TIPO_EXCLUSION.CURIOSO)==0){
			    		html += "                 <tr>\n\t\t";
		        		html += "                   <td><div align=\"center\">"+pc.getParticipante().getPersona().getNombreYApellido()+"</div></td>\n\t\t";
		        		html += "                   <td><div align=\"center\">Alta: "+Utils.getStrSqlDate(pc.getFechaAltaExclusion())+"\n\t\t";
		        		html += "                   <br>&Uacute;lt Acceso: "+Utils.getStrSqlDate(pc.getFechaUltimoAcceso())+"</div></td>\n\t\t";
		        		html += "                 </tr>\n\t\t";
		        }	        
			 }    
			 html += "               </table>\n\t\t";
			 html += "             </div>\n\t\t";//tablagris
		 }else
			 html += utils.UtilsGenerarHtml.getHTMLRecuadroAviso("No hay personas curiosas que han ingresado al grupo");
		
		 /***********************************SEGUNDA TABLA - PROHIBIDOS Y RECHAZADOS*****************************************/
		 
		 html += "             <label><strong>Rechazados:</strong> Personas que no fueron aceptadas por los integrantes del grupo para que participen en el mismo.</label>\n\t\t";
		 html += "             <br>\n\t\t";
		 html += "             <label><strong>Prohibidos:</strong> Personas que el responsable de la materia no les permite integrar este grupo.</label>\n\t\t";
		 html += "             <br>\n\t\t";
		 html += "             <br>\n\t\t";
		 if(participante.getTipoUsuario().getNombre().compareTo(TIPO_USUARIOS.ALUMNO)!=0)
			 esAlumno = false;
		 TipoUsuario tipoUsuario = controlGrupo.getRolDeLaPersonaEnElGrupo(this.pagina.getIdGrupo(),this.pagina.getIdPersona());
		 boolean esIntegranteDelGrupo = true;
	     if(tipoUsuario == null) esIntegranteDelGrupo = false;
	     curiosos = controlParticipanteGrupo.getParticipantesExcluidosDelGrupo(this.pagina.getIdGrupo(), TIPO_EXCLUSION.RECHAZADO);
	     curiosos.addAll(controlParticipanteGrupo.getParticipantesExcluidosDelGrupo(this.pagina.getIdGrupo(), TIPO_EXCLUSION.PROHIBIDO));
	     if(!curiosos.isEmpty()){
	    	 html += "             <div id=\"tablaGris\">\n\t\t";
			 html += "               <table width=\"570\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n\t\t";
			 html += "                 <th><div align=\"center\">Estado</div></th>\n\t\t";
			 html += "                 <th><div align=\"center\">Apellido y Nombre</div></th>\n\t\t";
			 html += "                 <th><div align=\"center\">Restaurar Estado</div></th>\n\t\t";
		     enum = curiosos.elements();
			 while (enum.hasMoreElements()) {
		        pc = (ParticipanteExcluido)enum.nextElement();
		        if(pc.getTipoExclusion().getNombre().compareTo(TIPO_EXCLUSION.CURIOSO)!=0){
		        	html += "                 <tr>\n\t\t";
			        if(pc.getTipoExclusion().getNombre().compareTo(TIPO_EXCLUSION.RECHAZADO)==0){
			        	html += "                   <td><div align=\"center\"><img align=\"middle\" src=\""+this.pagina.getPathRaiz()+"imagenes/imagenesNJ/rechazado.gif\" width=\"16\" height=\"16\" border=\"0\" hspace=\"0\"/></div></td>\n\t\t";
				        html += "                   <td><div align=\"center\">"+pc.getParticipante().getPersona().getNombreYApellido()+"</div></td>\n\t\t";
			        	if(esIntegranteDelGrupo)
			        		html += "                   <td><div align=\"center\"><a href=\""+this.pagina.getPathPaginas()+"confirma_operacion.jsp?"+this.getHTMLReferenciasParametros()+
			        	                                                         "&"+PARAMETROS_PAGINAS.ACCION+"="+ACCIONES_A_REALIZAR.RESTAURAR_RECHAZADO+
			        	                                                         "&"+PARAMETROS_PAGINAS.ID_EXCLUIDO+"="+pc.getId()+"\">" +
			        	            "                                                <img align=\"middle\" src=\""+this.pagina.getPathRaiz()+"imagenes/imagenesNJ/restaurar_rechazado.gif\" width=\"16\" height=\"16\" border=\"0\" hspace=\"0\"/>\n\t\t"+
			        	            "                                             </a>\n\t\t"+
			        	            "                       </div>\n\t\t"+
			        	            "                   </td>\n\t\t";
		        		else html += "                   <td><div align=\"center\"><img align=\"middle\" src=\""+this.pagina.getPathRaiz()+"imagenes/imagenesNJ/restaurar_rechazado_gris.gif\" width=\"16\" height=\"16\" border=\"0\" hspace=\"0\"/></div></td>\n\t\t";
			        //Es prohibido el estado de la persona	
			        }else{
			        	html += "                   <td><div align=\"center\"><img align=\"middle\" src=\""+this.pagina.getPathRaiz()+"imagenes/imagenesNJ/prohibido.gif\" width=\"16\" height=\"16\" border=\"0\" hspace=\"0\"/></div></td>\n\t\t";
				        html += "                   <td><div align=\"center\">"+pc.getParticipante().getPersona().getNombreYApellido()+"</div></td>\n\t\t";
			        	if(!esAlumno)
			        		   		html += "                   <td><div align=\"center\"><a href=\""+this.pagina.getPathPaginas()+"confirma_operacion.jsp?"+this.getHTMLReferenciasParametros()+
					       	      													 "&"+PARAMETROS_PAGINAS.ACCION+"="+ACCIONES_A_REALIZAR.RESTAURAR_PROHIBIDO+
					       	      													 "&"+PARAMETROS_PAGINAS.ID_EXCLUIDO+"="+pc.getId()+"\">" +
					       	  	    "                                                <img align=\"middle\" src=\""+this.pagina.getPathRaiz()+"imagenes/imagenesNJ/restaurar_rechazado.gif\" width=\"16\" height=\"16\" border=\"0\" hspace=\"0\"/>\n\t\t"+
					       	        "                                             </a>\n\t\t"+
					       	        "                       </div>\n\t\t"+
					       	        "					</td>\n\t\t";
					    else html += "                   <td><div align=\"center\"><img align=\"middle\" src=\""+this.pagina.getPathRaiz()+"imagenes/imagenesNJ/restaurar_rechazado_gris.gif\" width=\"16\" height=\"16\" border=\"0\" hspace=\"0\"/></div></td>\n\t\t";
			        }	
			        html += "                 </tr>\n\t\t";
		        }   
			 }
			 html += "               </table>\n\t\t";
			 html += "             </div>\n\t\t";//tablagris
	     }else
			 html += utils.UtilsGenerarHtml.getHTMLRecuadroAviso("No hay personas rechazadas, ni prohibidas para mostrar");	 
		 html += "           </fieldset>\n\t\t"; 
	     html += "       </div>\n\t";//tablagrupo
	     html +=  "          <div align=\"center\" class=\"linkVolver\" ><a href=\""+this.pagina.getPathPaginas()+"gestion_integracion.jsp?"+PARAMETROS_PAGINAS.REFRESH+"="+new Long((new java.util.Date()).getTime())+"\">Ir al inicio de las integraciones</a></div>\n\t\t";
	  return html;
  }
  
  private String getHTMLReferenciasParametros(){
	  return PARAMETROS_PAGINAS.REFRESH+"="+new Long((new java.util.Date()).getTime());
  }  
  
  
   
}

